home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Glitch Apple Disk Collection
/
2014.glitch.apple.collection.zip
/
indexed
/
FOURVOIC.DSK
/
SHAPE MAKER #3.bas
< prev
Wrap
BASIC Source File
|
2014-09-09
|
2KB
|
71 lines
5 LOMEM: 30000
10 TEXT : HOME : NORMAL
20 INPUT "HORIZONTAL SIZE (1-70) ";A$
30 IF VAL(A$) <1 OR VAL(A$) >70 OR VAL(A$) < > INT( VAL(A$)) THEN 10
40 A = VAL(A$)
50 TEXT : HOME : NORMAL
60 INPUT "VERTICAL SIZE (1-48) ";A$
70 IF VAL(A$) <1 OR VAL(A$) >48 OR VAL(A$) < > INT( VAL(A$)) THEN 50
80 B = VAL(A$)
85 DIM A%(A,B)
90 TEXT : HOME : NORMAL
100 C = 0:D = 0
110 FOR E = 1 TO A
120 C = C +1: IF C = 3 THEN D = D +1:C = 0
130 NEXT E
135 HGR
140 HGR2
145 HCOLOR= 3
150 IF A = 70 AND B = 48 THEN 200
160 IF A = 70 THEN HPLOT 0,B *4 +1 TO 279,B *4 +1
170 IF B = 48 THEN HPLOT A *4 +1,0 TO A *4 +1,191
180 IF A = 70 OR B = 48 THEN 200
190 HPLOT A *4 +1,0 TO A *4 +1,B *4 +1 TO 0,B *4 +1
200 E = 1:F = 1
300 HCOLOR= 3 -A%(E,F)
310 FOR G = E *4 -3 TO E *4 -2: HPLOT G,F *4 -3 TO G,F *4 -2: NEXT G: GET A$
320 HCOLOR= A%(E,F)
330 FOR G = E *4 -3 TO E *4 -2: HPLOT G,F *4 -3 TO G,F *4 -2: NEXT G
340 IF A$ = "&" THEN 900
350 IF A$ = "I" AND F < >1 THEN F = F -1: GOTO 300
360 IF A$ = "M" AND F < >B THEN F = F +1: GOTO 300
370 IF A$ = "J" AND E < >1 THEN E = E -1: GOTO 300
380 IF A$ = "K" AND A < >E THEN E = E +1: GOTO 300
390 IF A$ = "F" AND A%(E,F) = 0 THEN 500
400 IF A$ = "E" AND A%(E,F) = 3 THEN 500
410 IF A$ = "*" THEN 2000
420 GOTO 300
500 HCOLOR= 3 -A%(E,F):A%(E,F) = 3 -A%(E,F)
510 POKE 230,32: HPLOT E +138,F +78: POKE 230,64
520 FOR G = E *4 -4 TO E *4 -1: HPLOT G,F *4 -4 TO G,F *4 -1: NEXT G
530 GOTO 300
900 POKE -16300,0
1000 GET A$
1010 POKE -16302,0: POKE -16299,0: POKE 230,64: GOTO 300
2000 POKE 24576,1: POKE 24577,0: POKE 24578,4: POKE 24579,0:QQ = 24580: SCALE= 1: ROT= 0
2010 POKE -16300,0: POKE 230,32
2020 FOR G = 1 TO B
2030 FOR H = 1 TO A
2040 IF A%(H,G) = 3 THEN POKE QQ,70
2050 IF A%(H,G) = 0 THEN POKE QQ,66
2060 HCOLOR= 3 -A%(H,G): HPLOT 138 +H,78 +G
2065 QQ = QQ +1
2070 NEXT H
2080 IF D = 0 THEN 2200
2090 FOR I = 1 TO D
2100 POKE QQ,219:QQ = QQ +1
2110 NEXT I
2200 IF C = 0 THEN 2300
2210 IF C = 1 THEN POKE QQ,91:QQ = QQ +1
2220 IF C = 2 THEN POKE QQ,27:QQ = QQ +1
2300 POKE QQ,130:QQ = QQ +1: NEXT G
2310 POKE QQ,0
2400 TEXT : HOME : NORMAL
2410 PRINT "SAVE ?";: GET A$: IF A$ = "N" THEN END
2420 IF A$ < >"Y" THEN 2400
2430 TEXT : HOME : NORMAL
2440 INPUT "NAME :";A$
2450 J = (A *B) +((D +1) *B)
2460 IF C < >0 THEN J = J +1
2470 J = J +150
2480 PRINT : PRINT "<CTRL-D>BSAVE";A$;",A24576,L";J